<!DOCTYPE HTML>
<html class="minimal">
<title>Canvas test: 2d.imageData.put.unchanged</title>
<!--[if IE]><script src="../excanvas/excanvas.js"></script><![endif]-->
<script src="../tests.js"></script>
<link rel="stylesheet" href="../tests.css">
<link rel="prev" href="minimal.2d.imageData.put.dirty.outside.html" title="2d.imageData.put.dirty.outside">
<link rel="next" href="minimal.2d.imageData.put.unaffected.html" title="2d.imageData.put.unaffected">
<body>
<p id="passtext">Pass</p>
<p id="failtext">Fail</p>
<!-- TODO: handle "script did not run" case -->
<p class="output">These images should be identical:</p>
<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>

<ul id="d"></ul>
<script>
_addTest(function(canvas, ctx) {

var i = 0;
for (var y = 0; y < 16; ++y) {
    for (var x = 0; x < 16; ++x, ++i) {
        ctx.fillStyle = 'rgba(' + i + ',' + (Math.floor(i*1.5) % 256) + ',' + (Math.floor(i*23.3) % 256) + ',' + (i/256) + ')';
        ctx.fillRect(x, y, 1, 1);
    }
}
var imgdata1 = ctx.getImageData(0.1, 0.2, 15.8, 15.9);
var olddata = [];
for (var i = 0; i < imgdata1.data.length; ++i)
    olddata[i] = imgdata1.data[i];

ctx.putImageData(imgdata1, 0.1, 0.2);

var imgdata2 = ctx.getImageData(0.1, 0.2, 15.8, 15.9);
for (var i = 0; i < imgdata2.data.length; ++i) {
    _assertSame(olddata[i], imgdata2.data[i], "olddata[\""+(i)+"\"]", "imgdata2.data[\""+(i)+"\"]");
}


});
</script>

